草庐IT

c++ - std::wstring 长度

全部标签

c# - 比较和交换有什么用?

我最近在读关于CompareAndSwap的文章原子操作(CMPXCHG、.NET的Interlocked.CompareExchange等)。我了解它在内部是如何工作的,以及它是如何从客户那里使用的。我不太明白的是什么时候有人会使用CAS?维基百科说:CASisusedforimplementingsynchronizationprimitiveslikesemaphoresandmutexes,likewisemoresophisticatedlock-freeandwait-freealgorithms.那么,谁能给我一个更通用的真实世界用例,其中包含代码和CAS使用说明?这个问

c# - 在 C# 中是否有等价于 std::set 的东西?

我想要一个容器StdStyleSet的classA:IComparable{...}它满足std::set的属性。这尤其是:元素本身就是键插入时自动排序 最佳答案 SortedSet:见documents-尽管从技术上讲,它位于.NETFramework中。对于早期版本,您可以使用HashSet并使用LINQ进行排序,如果您主要以有序方式使用集合,则这不是理想的选择。或者你可以使用SortedDictionary值为Object并将您的元素存储在值为空值的键中。 关于c#-在C#中是否有

c# - 整数格式,填充到给定长度

我需要将整数的输出填充到给定的长度。例如,长度为4位,整数4的输出是“0004”而不是“4”。我如何在C#2.0中执行此操作? 最佳答案 使用string.Format命令。output=String.Format("{0:0000}",intVariable);更多详情:http://msdn.microsoft.com/en-us/library/fht0f5be.aspx 关于c#-整数格式,填充到给定长度,我们在StackOverflow上找到一个类似的问题:

c# - c#中可变长度字符串的固定长度数字哈希码

我需要存储从可变长度字符串生成的固定长度(最多8位)数字。散列不必是唯一的。它只需要在输入字符串更改时更改。.Net中是否有执行此操作的哈希函数?谢谢基肖尔。 最佳答案 我假设您这样做是因为您需要将值存储在别处并与它进行比较。因此,Zach的回答(虽然完全正确)可能会给您带来问题,因为String.GetHashCode()的契约(Contract)明确说明了其更改范围。因此这是一个固定的并且可以在其他语言中轻松重复的版本。我假设您会在编译时知道可用的小数位数。这是基于Jenkins一次一个哈希(由BretMulvey实现和exha

c# - 根据字节长度缩短UTF8字符串的最佳方法

最近的一个项目要求将数据导入Oracle数据库。将执行此操作的程序是C#.Net3.5应用程序,我正在使用Oracle.DataAccess连接库来处理实际的插入。我遇到一个问题,在插入特定字段时会收到以下错误消息:ORA-12899值对于X列太大我使用了Field.Substring(0,MaxLength);,但仍然出现错误(尽管不是每条记录)。最终,我看到了应该是显而易见的东西,我的字符串是ANSI,字段是UTF8。它的长度以字节为单位,而不是字符。这使我想到了我的问题。修剪弦线以固定MaxLength的最佳方法是什么?我的子字符串代码按字符长度工作。是否有简单的C#函数可以按字

c# - HttpRuntime.Cache 对象中缓存键的最大长度?

我们在ASP.NET中使用HttpRuntime.CacheAPI来缓存从数据库检索的数据。对于这个特定的应用程序,我们的数据库查询具有很多参数,因此我们的缓存键看起来像这样:table=table1;param1=somevalue1;param2=somevalue2;param3=somevalue3;param4=somevalue4;param5=somevalue5;param6=somevalue6...etc...对于某些查询,我们有很多参数,以至于缓存键有几百个字符长。我的问题:这些缓存键的长度是否有限制?在内部,它使用字典,因此理论上查找时间应该是恒定的。但是,我想

c# - 在 .NET 中将流(未知长度)转换为字节数组的最佳方法?

我有以下代码从Stream(在本例中是从命名管道)读取数据并将其写入字节数组://NPSSisaninstanceofNamedPipeServerStreamintBytesRead;byte[]StreamBuffer=newbyte[BUFFER_SIZE];//sizedefinedelsewhere(lessthantotalpossiblemessagesize,though)MemoryStreamMessageStream=newMemoryStream();do{BytesRead=NPSS.Read(StreamBuffer,0,StreamBuffer.Lengt

C# 培训测验

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我已经有10年的编程经验,主要是使用vba和vb.net,但我对C#的了解足以编写我通常做的程序。我昨天申请了高级c#职位,但我在入职测试中表现很差,这可不好笑:)我一直发现,对我来说,学习和记忆的最佳方式是通过问答(多项选择题和简答题)。也就是说,提出一个问题,在我回答后立即反馈我的选择是对还是错以及原因。因此,我想知道是否有人知道或可以推荐一个C#测

c# - 为什么在 C# 中允许 "long"作为数组长度?

我想尝试分配一个40亿字节的数组,这是我的C#代码:longsize=4*1000;size*=1000;size*=1000;byte[]array=newbyte[size];此代码在包含new的行上因System.OverflowException而失败。好的,原来Length返回int,所以数组长度也限制在int可以存储的范围内。那为什么没有编译时错误,并且允许使用long作为分配时的数组元素个数? 最佳答案 因为规范在第7.6.10.4节中是这样说的:Eachexpressionintheexpressionlistmus

c# - 如何将字符串的长度限制为 150 个字符?

我尝试了以下方法:vara=description.Substring(0,150);但是,如果描述的长度少于150个字符,则会出现问题。那么有没有另一种方法可以将长度限制为150,当字符串长度例如为20时不会出错。 最佳答案 vara=description==null?string.Empty:description.Substring(0,Math.Min(150,description.Length)); 关于c#-如何将字符串的长度限制为150个字符?,我们在StackOver